package com.dc.designPattern._19_interpreter.impl;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.Map;

/**
 * Description: 解释器模式_终结符表达式_变量解释器
 * @author: gdc
 * @date: 2021/6/8
 * @version 1.0
 */
@Data
@AllArgsConstructor
public class VarExpression implements Expression {

    /**
     * 参数名，例如：key=a,key=b
     */
    private String key;

    /**
     * 根据变量名称，返回对应值
     * @param var           公式参数、值, 例如：{a=10, b=20}
     * @return              变量对应值
     */
    @Override
    public int interpreter(Map<String, Integer> var) {
        return var.get(key);
    }
}
